package me.spring.cloud.common.components.monitor.aop;

import static java.lang.annotation.RetentionPolicy.RUNTIME;

import me.spring.cloud.common.components.monitor.constant.Constant;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;

/**
 * Event 用来记录一件事发生的次数， 比如记录系统异常， 它和transaction相比缺少了时间的统计，开销比transaction要小
 */
@Retention(RUNTIME)
@Target(ElementType.METHOD)
public @interface MonitorEvent {

  /** Event类型名称，记录在cat中 */
  String eventType() default Constant.MONITOREVENT;
}
